home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / FORTRAN2.LZH / VERIFY.FOR < prev    next >
Text File  |  1988-02-08  |  2KB  |  91 lines

  1.       LOGICAL FUNCTION VERIFY (STR1,STR2)
  2. C*
  3. C*                  *******************************
  4. C*                  *******************************
  5. C*                  **                           **
  6. C*                  **          VERIFY           **
  7. C*                  **                           **
  8. C*                  *******************************
  9. C*                  *******************************
  10. C*
  11. C*     SUBPROGRAM :
  12. C*          VERIFY
  13. C*
  14. C*     AUTHOR :
  15. C*          ART RAGOSTA
  16. C*          MS207-5
  17. C*          AMES RESEARCH CENTER
  18. C*          MOFFETT FIELD, CALIF.  94035
  19. C*          (415)694-5578
  20. C*
  21. C*     PURPOSE :
  22. C*          TO VERIFY THAT EACH CHARACTER IN STR1 ALSO APPEARS IN STR2.
  23. C*          EFFICIENCY NOTES :
  24. C*             1. THE RAREST LETTER(S) SHOULD APPEAR FIRST IN 'STR2'.
  25. C*             2. THE LENGTHS OF 'STR1' AND 'STR2' SHOULD BE AS SMALL AS
  26. C*                 POSSIBLE, SINCE ALL CHARACTERS OUT TO 'LEN(STR1/2)' WILL
  27. C*                 BE CHECKED EVEN IF THEY ARE NOT MEANINGFUL.
  28. C*
  29. C*     INPUT ARGUMENTS :
  30. C*          STR1  - STRING TO CHECK.
  31. C*          STR2  - STRING CONTAINING CHARACTERS WHICH ARE VALID.
  32. C*
  33. C*     OUTPUT ARGUMENTS :
  34. C*          VERIFY - (FUNCTION VALUE) TRUE IF EVERY CHARACTER IN STR1 IS
  35. C*                    ALSO IN STR2, FALSE OTHERWISE.
  36. C*
  37. C*     INTERNAL WORK AREAS :
  38. C*          NONE
  39. C*
  40. C*     COMMON BLOCKS :
  41. C*          NONE
  42. C*
  43. C*     FILE REFERENCES :
  44. C*          NONE
  45. C*
  46. C*     DATA BASE ACCESS :
  47. C*          NONE
  48. C*
  49. C*     SUBPROGRAM REFERENCES :
  50. C*          NONE
  51. C*
  52. C*     ERROR PROCESSING :
  53. C*          NONE
  54. C*
  55. C*     TRANSPORTABILITY LIMITATIONS :
  56. C*          NONE
  57. C*
  58. C*     ASSUMPTIONS AND RESTRICTIONS :
  59. C*          NONE
  60. C*
  61. C*     LANGUAGE AND COMPILER :
  62. C*          ANSI FORTRAN 77
  63. C*
  64. C*     VERSION AND DATE :
  65. C*          VERSION I.0     17-JAN-85
  66. C*
  67. C*     CHANGE HISTORY :
  68. C*          17-JAN-85    INITIAL VERSION
  69. C*
  70. C***********************************************************************
  71. C*
  72.       CHARACTER *(*) STR1,STR2
  73. C
  74. C --- LENGTHS LESS SPACES
  75. C
  76.       L1 = LEN(STR1)
  77.       L2 = LEN(STR2)
  78.       VERIFY = .FALSE.
  79.       DO 20 I = 1, L1
  80.          DO 10 J = 1, L2
  81.             IF (STR1(I:I) .EQ. STR2(J:J))GO TO 20
  82. 10          CONTINUE
  83.          RETURN
  84. 20       CONTINUE
  85.       VERIFY = .TRUE.
  86.       RETURN
  87.       END
  88. C
  89. C---END VERIFY
  90. C
  91.